; ModuleID = 't3.bt1rl0f3-cgu.0'
source_filename = "t3.bt1rl0f3-cgu.0"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"core::fmt::Formatter" = type { [0 x i64], { i64, i64 }, [0 x i64], { i64, i64 }, [0 x i64], { {}*, [3 x i64]* }, [0 x i32], i32, [0 x i32], i32, [0 x i8], i8, [7 x i8] }
%"core::fmt::Arguments" = type { [0 x i64], { [0 x { [0 x i8]*, i64 }]*, i64 }, [0 x i64], { i64*, i64 }, [0 x i64], { [0 x { i8*, i8* }]*, i64 }, [0 x i64] }
%"unwind::libunwind::_Unwind_Exception" = type { [0 x i64], i64, [0 x i64], void (i32, %"unwind::libunwind::_Unwind_Exception"*)*, [0 x i64], [6 x i64], [0 x i64] }
%"unwind::libunwind::_Unwind_Context" = type { [0 x i8] }

$asan.module_ctor = comdat any

$asan.module_dtor = comdat any

$"vtable.0$1b254ad1cd29c82169fb592210e1d939" = comdat any

$"alloc1$1b254ad1cd29c82169fb592210e1d939" = comdat any

$"alloc2$1b254ad1cd29c82169fb592210e1d939" = comdat any

$"alloc3$1b254ad1cd29c82169fb592210e1d939" = comdat any

@vtable.0 = internal constant { { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] } { { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* } { void (i8**)* @_ZN4core3ptr13drop_in_place17h0e7f2b3546d313caE, i64 8, i64 8, i32 (i8**)* @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h333ea9d4a60716ebE", i32 (i8**)* @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h333ea9d4a60716ebE", i32 (i8**)* @"_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hac75854626d876caE" }, [48 x i8] zeroinitializer }, comdat($"vtable.0$1b254ad1cd29c82169fb592210e1d939"), align 32
@alloc1 = internal constant { <{ [10 x i8] }>, [54 x i8] } { <{ [10 x i8] }> <{ [10 x i8] c"test_box: " }>, [54 x i8] zeroinitializer }, comdat($"alloc1$1b254ad1cd29c82169fb592210e1d939"), align 32
@alloc2 = internal constant { <{ [1 x i8] }>, [63 x i8] } { <{ [1 x i8] }> <{ [1 x i8] c"\0A" }>, [63 x i8] zeroinitializer }, comdat($"alloc2$1b254ad1cd29c82169fb592210e1d939"), align 32
@alloc3 = internal constant { <{ i8*, [8 x i8], i8*, [8 x i8] }>, [32 x i8] } { <{ i8*, [8 x i8], i8*, [8 x i8] }> <{ i8* getelementptr inbounds ({ <{ [10 x i8] }>, [54 x i8] }, { <{ [10 x i8] }>, [54 x i8] }* @alloc1, i32 0, i32 0, i32 0, i32 0), [8 x i8] c"\0A\00\00\00\00\00\00\00", i8* getelementptr inbounds ({ <{ [1 x i8] }>, [63 x i8] }, { <{ [1 x i8] }>, [63 x i8] }* @alloc2, i32 0, i32 0, i32 0, i32 0), [8 x i8] c"\01\00\00\00\00\00\00\00" }>, [32 x i8] zeroinitializer }, comdat($"alloc3$1b254ad1cd29c82169fb592210e1d939"), align 32
@__asan_option_detect_stack_use_after_return = external global i32
@___asan_gen_ = private unnamed_addr constant [12 x i8] c"1 32 8 2 _7\00", align 1
@___asan_gen_.8 = private unnamed_addr constant [30 x i8] c"2 32 16 5 _19.i 64 48 5 _12.i\00", align 1
@___asan_gen_.9 = private unnamed_addr constant [14 x i8] c"1 32 8 4 _7.i\00", align 1
@___asan_gen_.10 = private constant [18 x i8] c"t3.bt1rl0f3-cgu.0\00", align 1
@___asan_gen_.11 = private unnamed_addr constant [9 x i8] c"vtable.0\00", align 1
@___asan_gen_.12 = private unnamed_addr constant [7 x i8] c"alloc1\00", align 1
@___asan_gen_.13 = private unnamed_addr constant [7 x i8] c"alloc2\00", align 1
@___asan_gen_.14 = private unnamed_addr constant [7 x i8] c"alloc3\00", align 1
@__asan_global_vtable.0 = private global { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] }* @0 to i64), i64 48, i64 96, i64 ptrtoint ([9 x i8]* @___asan_gen_.11 to i64), i64 ptrtoint ([18 x i8]* @___asan_gen_.10 to i64), i64 0, i64 0, i64 -1 }, section "asan_globals", comdat($"vtable.0$1b254ad1cd29c82169fb592210e1d939"), !associated !0
@__asan_global_alloc1 = private global { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ <{ [10 x i8] }>, [54 x i8] }* @1 to i64), i64 10, i64 64, i64 ptrtoint ([7 x i8]* @___asan_gen_.12 to i64), i64 ptrtoint ([18 x i8]* @___asan_gen_.10 to i64), i64 0, i64 0, i64 -1 }, section "asan_globals", comdat($"alloc1$1b254ad1cd29c82169fb592210e1d939"), !associated !1
@__asan_global_alloc2 = private global { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ <{ [1 x i8] }>, [63 x i8] }* @2 to i64), i64 1, i64 64, i64 ptrtoint ([7 x i8]* @___asan_gen_.13 to i64), i64 ptrtoint ([18 x i8]* @___asan_gen_.10 to i64), i64 0, i64 0, i64 -1 }, section "asan_globals", comdat($"alloc2$1b254ad1cd29c82169fb592210e1d939"), !associated !2
@__asan_global_alloc3 = private global { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ <{ i8*, [8 x i8], i8*, [8 x i8] }>, [32 x i8] }* @3 to i64), i64 32, i64 64, i64 ptrtoint ([7 x i8]* @___asan_gen_.14 to i64), i64 ptrtoint ([18 x i8]* @___asan_gen_.10 to i64), i64 0, i64 0, i64 -1 }, section "asan_globals", comdat($"alloc3$1b254ad1cd29c82169fb592210e1d939"), !associated !3
@llvm.compiler.used = appending global [8 x i8*] [i8* bitcast ({ { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] }* @vtable.0 to i8*), i8* getelementptr inbounds ({ <{ [10 x i8] }>, [54 x i8] }, { <{ [10 x i8] }>, [54 x i8] }* @alloc1, i32 0, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ <{ [1 x i8] }>, [63 x i8] }, { <{ [1 x i8] }>, [63 x i8] }* @alloc2, i32 0, i32 0, i32 0, i32 0), i8* bitcast ({ <{ i8*, [8 x i8], i8*, [8 x i8] }>, [32 x i8] }* @alloc3 to i8*), i8* bitcast ({ i64, i64, i64, i64, i64, i64, i64, i64 }* @__asan_global_vtable.0 to i8*), i8* bitcast ({ i64, i64, i64, i64, i64, i64, i64, i64 }* @__asan_global_alloc1 to i8*), i8* bitcast ({ i64, i64, i64, i64, i64, i64, i64, i64 }* @__asan_global_alloc2 to i8*), i8* bitcast ({ i64, i64, i64, i64, i64, i64, i64, i64 }* @__asan_global_alloc3 to i8*)], section "llvm.metadata"
@___asan_globals_registered = common hidden global i64 0
@__start_asan_globals = extern_weak hidden global i64
@__stop_asan_globals = extern_weak hidden global i64
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 1, void ()* @asan.module_ctor, i8* bitcast (void ()* @asan.module_ctor to i8*) }]
@llvm.global_dtors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 1, void ()* @asan.module_dtor, i8* bitcast (void ()* @asan.module_dtor to i8*) }]

@0 = private alias { { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] }, { { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] }* @vtable.0
@1 = private alias { <{ [10 x i8] }>, [54 x i8] }, { <{ [10 x i8] }>, [54 x i8] }* @alloc1
@2 = private alias { <{ [1 x i8] }>, [63 x i8] }, { <{ [1 x i8] }>, [63 x i8] }* @alloc2
@3 = private alias { <{ i8*, [8 x i8], i8*, [8 x i8] }>, [32 x i8] }, { <{ i8*, [8 x i8], i8*, [8 x i8] }>, [32 x i8] }* @alloc3

; std::rt::lang_start
; Function Attrs: nonlazybind sanitize_address uwtable
define hidden i64 @_ZN3std2rt10lang_start17h3a07166bbe928f28E(void ()* nonnull %main, i64 %argc, i8** %argv) unnamed_addr #0 {
start:
  %asan_local_stack_base = alloca i64
  %0 = load i32, i32* @__asan_option_detect_stack_use_after_return
  %1 = icmp ne i32 %0, 0
  br i1 %1, label %2, label %4

2:                                                ; preds = %start
  %3 = call i64 @__asan_stack_malloc_0(i64 64)
  br label %4

4:                                                ; preds = %start, %2
  %5 = phi i64 [ 0, %start ], [ %3, %2 ]
  %6 = icmp eq i64 %5, 0
  br i1 %6, label %7, label %9

7:                                                ; preds = %4
  %MyAlloca = alloca i8, i64 64, align 32
  %8 = ptrtoint i8* %MyAlloca to i64
  br label %9

9:                                                ; preds = %4, %7
  %10 = phi i64 [ %5, %4 ], [ %8, %7 ]
  store i64 %10, i64* %asan_local_stack_base
  %11 = add i64 %10, 32
  %12 = inttoptr i64 %11 to i8**
  %13 = inttoptr i64 %10 to i64*
  store i64 1102416563, i64* %13
  %14 = add i64 %10, 8
  %15 = inttoptr i64 %14 to i64*
  store i64 ptrtoint ([12 x i8]* @___asan_gen_ to i64), i64* %15
  %16 = add i64 %10, 16
  %17 = inttoptr i64 %16 to i64*
  store i64 ptrtoint (i64 (void ()*, i64, i8**)* @_ZN3std2rt10lang_start17h3a07166bbe928f28E to i64), i64* %17
  %18 = lshr i64 %10, 3
  %19 = add i64 %18, 2147450880
  %20 = add i64 %19, 0
  %21 = inttoptr i64 %20 to i64*
  store i64 -868082052615769615, i64* %21, align 1
  %22 = bitcast i8** %12 to i8*
  %23 = add i64 %19, 4
  %24 = inttoptr i64 %23 to i8*
  store i8 0, i8* %24, align 1
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %22)
  %25 = bitcast i8** %12 to void ()**
  %26 = ptrtoint void ()** %25 to i64
  %27 = lshr i64 %26, 3
  %28 = add i64 %27, 2147450880
  %29 = inttoptr i64 %28 to i8*
  %30 = load i8, i8* %29
  %31 = icmp ne i8 %30, 0
  br i1 %31, label %32, label %33

32:                                               ; preds = %9
  call void @__asan_report_store8(i64 %26)
  call void asm sideeffect "", ""()
  unreachable

33:                                               ; preds = %9
  store void ()* %main, void ()** %25, align 8
  %_4.0 = bitcast i8** %12 to {}*
; call std::rt::lang_start_internal
  %34 = call i64 @_ZN3std2rt19lang_start_internal17hf4abd869024c3270E({}* nonnull align 1 %_4.0, [3 x i64]* noalias readonly align 8 dereferenceable(24) bitcast ({ { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] }* @vtable.0 to [3 x i64]*), i64 %argc, i8** %argv)
  %35 = add i64 %19, 4
  %36 = inttoptr i64 %35 to i8*
  store i8 -8, i8* %36, align 1
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %22)
  store i64 1172321806, i64* %13
  %37 = icmp ne i64 %5, 0
  br i1 %37, label %38, label %45

38:                                               ; preds = %33
  %39 = add i64 %19, 0
  %40 = inttoptr i64 %39 to i64*
  store i64 -723401728380766731, i64* %40, align 1
  %41 = add i64 %5, 56
  %42 = inttoptr i64 %41 to i64*
  %43 = load i64, i64* %42
  %44 = inttoptr i64 %43 to i8*
  store i8 0, i8* %44
  br label %48

45:                                               ; preds = %33
  %46 = add i64 %19, 0
  %47 = inttoptr i64 %46 to i64*
  store i64 0, i64* %47, align 1
  br label %48

48:                                               ; preds = %45, %38
  ret i64 %34
}

; std::rt::lang_start::{{closure}}
; Function Attrs: nonlazybind sanitize_address uwtable
define internal i32 @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h333ea9d4a60716ebE"(i8** noalias nocapture readonly align 8 dereferenceable(8) %_1) unnamed_addr #0 {
start:
  %0 = bitcast i8** %_1 to void ()**
  %1 = ptrtoint void ()** %0 to i64
  %2 = lshr i64 %1, 3
  %3 = add i64 %2, 2147450880
  %4 = inttoptr i64 %3 to i8*
  %5 = load i8, i8* %4
  %6 = icmp ne i8 %5, 0
  br i1 %6, label %7, label %8

7:                                                ; preds = %start
  call void @__asan_report_load8(i64 %1)
  call void asm sideeffect "", ""()
  unreachable

8:                                                ; preds = %start
  %_3 = load void ()*, void ()** %0, align 8, !nonnull !7
  tail call void %_3()
  ret i32 0
}

; core::fmt::num::<impl core::fmt::Debug for i32>::fmt
; Function Attrs: inlinehint nonlazybind sanitize_address uwtable
define internal zeroext i1 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i32$GT$3fmt17hb6b500d511226317E"(i32* noalias readonly align 4 dereferenceable(4) %self, %"core::fmt::Formatter"* align 8 dereferenceable(64) %f) unnamed_addr #1 {
start:
; call core::fmt::Formatter::debug_lower_hex
  %_3 = tail call zeroext i1 @_ZN4core3fmt9Formatter15debug_lower_hex17h68b810b761abe09bE(%"core::fmt::Formatter"* noalias nonnull readonly align 8 dereferenceable(64) %f)
  br i1 %_3, label %bb3, label %bb2

bb2:                                              ; preds = %start
; call core::fmt::Formatter::debug_upper_hex
  %_7 = tail call zeroext i1 @_ZN4core3fmt9Formatter15debug_upper_hex17h20623f52650bb644E(%"core::fmt::Formatter"* noalias nonnull readonly align 8 dereferenceable(64) %f)
  br i1 %_7, label %bb7, label %bb6

bb3:                                              ; preds = %start
; call core::fmt::num::<impl core::fmt::LowerHex for i32>::fmt
  %0 = tail call zeroext i1 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h19ab7be5b0fb7587E"(i32* noalias nonnull readonly align 4 dereferenceable(4) %self, %"core::fmt::Formatter"* nonnull align 8 dereferenceable(64) %f)
  br label %bb11

bb6:                                              ; preds = %bb2
; call core::fmt::num::imp::<impl core::fmt::Display for i32>::fmt
  %1 = tail call zeroext i1 @"_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i32$GT$3fmt17hbb27e86dfb8ce1d4E"(i32* noalias nonnull readonly align 4 dereferenceable(4) %self, %"core::fmt::Formatter"* nonnull align 8 dereferenceable(64) %f)
  br label %bb11

bb7:                                              ; preds = %bb2
; call core::fmt::num::<impl core::fmt::UpperHex for i32>::fmt
  %2 = tail call zeroext i1 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hd8a7bd4ba29743b9E"(i32* noalias nonnull readonly align 4 dereferenceable(4) %self, %"core::fmt::Formatter"* nonnull align 8 dereferenceable(64) %f)
  br label %bb11

bb11:                                             ; preds = %bb7, %bb6, %bb3
  %.0.in = phi i1 [ %0, %bb3 ], [ %2, %bb7 ], [ %1, %bb6 ]
  ret i1 %.0.in
}

; core::ops::function::FnOnce::call_once{{vtable.shim}}
; Function Attrs: nonlazybind sanitize_address uwtable
define internal i32 @"_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hac75854626d876caE"(i8** nocapture readonly %_1) unnamed_addr #0 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality {
start:
  %0 = bitcast i8** %_1 to void ()**
  %1 = ptrtoint void ()** %0 to i64
  %2 = lshr i64 %1, 3
  %3 = add i64 %2, 2147450880
  %4 = inttoptr i64 %3 to i8*
  %5 = load i8, i8* %4
  %6 = icmp ne i8 %5, 0
  br i1 %6, label %7, label %8

7:                                                ; preds = %start
  call void @__asan_report_load8(i64 %1)
  call void asm sideeffect "", ""()
  unreachable

8:                                                ; preds = %start
  %9 = load void ()*, void ()** %0, align 8, !nonnull !7
  tail call void %9(), !noalias !8
  ret i32 0
}

; core::ptr::drop_in_place
; Function Attrs: nounwind nonlazybind sanitize_address uwtable
define internal fastcc void @_ZN4core3ptr13drop_in_place17h045df3b7c654ef18E(i32* %_1.val) unnamed_addr #2 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality {
start:
  %_2.i.i = bitcast i32* %_1.val to i8*
  tail call void @__rust_dealloc(i8* nonnull %_2.i.i, i64 4, i64 4) #7
  ret void
}

; core::ptr::drop_in_place
; Function Attrs: norecurse nounwind nonlazybind readnone sanitize_address uwtable
define internal void @_ZN4core3ptr13drop_in_place17h0e7f2b3546d313caE(i8** nocapture %_1) unnamed_addr #3 {
start:
  ret void
}

; t3::main
; Function Attrs: nonlazybind sanitize_address uwtable
define internal void @_ZN2t34main17h33660e99b2ecbe28E() unnamed_addr #0 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality {
start:
  %asan_local_stack_base = alloca i64
  %0 = load i32, i32* @__asan_option_detect_stack_use_after_return
  %1 = icmp ne i32 %0, 0
  br i1 %1, label %2, label %4

2:                                                ; preds = %start
  %3 = call i64 @__asan_stack_malloc_2(i64 160)
  br label %4

4:                                                ; preds = %start, %2
  %5 = phi i64 [ 0, %start ], [ %3, %2 ]
  %6 = icmp eq i64 %5, 0
  br i1 %6, label %7, label %9

7:                                                ; preds = %4
  %MyAlloca = alloca i8, i64 160, align 32
  %8 = ptrtoint i8* %MyAlloca to i64
  br label %9

9:                                                ; preds = %4, %7
  %10 = phi i64 [ %5, %4 ], [ %8, %7 ]
  store i64 %10, i64* %asan_local_stack_base
  %11 = add i64 %10, 32
  %12 = inttoptr i64 %11 to [1 x { i8*, i8* }]*
  %13 = add i64 %10, 64
  %14 = inttoptr i64 %13 to %"core::fmt::Arguments"*
  %15 = inttoptr i64 %10 to i64*
  store i64 1102416563, i64* %15
  %16 = add i64 %10, 8
  %17 = inttoptr i64 %16 to i64*
  store i64 ptrtoint ([30 x i8]* @___asan_gen_.8 to i64), i64* %17
  %18 = add i64 %10, 16
  %19 = inttoptr i64 %18 to i64*
  store i64 ptrtoint (void ()* @_ZN2t34main17h33660e99b2ecbe28E to i64), i64* %19
  %20 = lshr i64 %10, 3
  %21 = add i64 %20, 2147450880
  %22 = add i64 %21, 0
  %23 = inttoptr i64 %22 to i64*
  store i64 -940415624072269327, i64* %23, align 1
  %24 = add i64 %21, 8
  %25 = inttoptr i64 %24 to i64*
  store i64 -868076554939729672, i64* %25, align 1
  %26 = add i64 %21, 16
  %27 = inttoptr i64 %26 to i32*
  store i32 -202116109, i32* %27, align 1
  %28 = tail call dereferenceable_or_null(4) i8* @__rust_alloc(i64 4, i64 4) #7
  %29 = icmp eq i8* %28, null
  br i1 %29, label %bb3.i.i.i, label %"_ZN5alloc5boxed12Box$LT$T$GT$3new17h49bd786f9703107dE.exit.i"

bb3.i.i.i:                                        ; preds = %9
  call void @__asan_handle_no_return()
; call alloc::alloc::handle_alloc_error
  tail call void @_ZN5alloc5alloc18handle_alloc_error17he602a36a7d59d201E(i64 4, i64 4) #7
  unreachable

"_ZN5alloc5boxed12Box$LT$T$GT$3new17h49bd786f9703107dE.exit.i": ; preds = %9
  %30 = bitcast i8* %28 to i32*
  %31 = ptrtoint i32* %30 to i64
  %32 = lshr i64 %31, 3
  %33 = add i64 %32, 2147450880
  %34 = inttoptr i64 %33 to i8*
  %35 = load i8, i8* %34
  %36 = icmp ne i8 %35, 0
  br i1 %36, label %37, label %43, !prof !11

37:                                               ; preds = %"_ZN5alloc5boxed12Box$LT$T$GT$3new17h49bd786f9703107dE.exit.i"
  %38 = and i64 %31, 7
  %39 = add i64 %38, 3
  %40 = trunc i64 %39 to i8
  %41 = icmp sge i8 %40, %35
  br i1 %41, label %42, label %43

42:                                               ; preds = %37
  call void @__asan_report_store4(i64 %31)
  call void asm sideeffect "", ""()
  unreachable

43:                                               ; preds = %37, %"_ZN5alloc5boxed12Box$LT$T$GT$3new17h49bd786f9703107dE.exit.i"
  store i32 5, i32* %30, align 4
  %44 = tail call dereferenceable_or_null(4) i8* @__rust_alloc(i64 4, i64 4) #7
  %45 = icmp eq i8* %44, null
  br i1 %45, label %bb3.i.i2.i, label %bb10.i

bb3.i.i2.i:                                       ; preds = %43
  call void @__asan_handle_no_return()
; call alloc::alloc::handle_alloc_error
  tail call void @_ZN5alloc5alloc18handle_alloc_error17he602a36a7d59d201E(i64 4, i64 4) #7
  unreachable

bb1.i:                                            ; preds = %154
  %46 = landingpad { i8*, i32 }
          cleanup
; call core::ptr::drop_in_place
  call fastcc void @_ZN4core3ptr13drop_in_place17h045df3b7c654ef18E(i32* nonnull %69) #8
  store i64 1172321806, i64* %15
  %47 = icmp ne i64 %5, 0
  br i1 %47, label %48, label %61

48:                                               ; preds = %bb1.i
  %49 = add i64 %21, 0
  %50 = inttoptr i64 %49 to i64*
  store i64 -723401728380766731, i64* %50, align 1
  %51 = add i64 %21, 8
  %52 = inttoptr i64 %51 to i64*
  store i64 -723401728380766731, i64* %52, align 1
  %53 = add i64 %21, 16
  %54 = inttoptr i64 %53 to i64*
  store i64 -723401728380766731, i64* %54, align 1
  %55 = add i64 %21, 24
  %56 = inttoptr i64 %55 to i64*
  store i64 -723401728380766731, i64* %56, align 1
  %57 = add i64 %5, 248
  %58 = inttoptr i64 %57 to i64*
  %59 = load i64, i64* %58
  %60 = inttoptr i64 %59 to i8*
  store i8 0, i8* %60
  br label %68

61:                                               ; preds = %bb1.i
  %62 = add i64 %21, 0
  %63 = inttoptr i64 %62 to i64*
  store i64 0, i64* %63, align 1
  %64 = add i64 %21, 8
  %65 = inttoptr i64 %64 to i64*
  store i64 0, i64* %65, align 1
  %66 = add i64 %21, 16
  %67 = inttoptr i64 %66 to i32*
  store i32 0, i32* %67, align 1
  br label %68

68:                                               ; preds = %61, %48
  resume { i8*, i32 } %46

bb10.i:                                           ; preds = %43
  %69 = bitcast i8* %44 to i32*
  %70 = ptrtoint i32* %69 to i64
  %71 = lshr i64 %70, 3
  %72 = add i64 %71, 2147450880
  %73 = inttoptr i64 %72 to i8*
  %74 = load i8, i8* %73
  %75 = icmp ne i8 %74, 0
  br i1 %75, label %76, label %82, !prof !11

76:                                               ; preds = %bb10.i
  %77 = and i64 %70, 7
  %78 = add i64 %77, 3
  %79 = trunc i64 %78 to i8
  %80 = icmp sge i8 %79, %74
  br i1 %80, label %81, label %82

81:                                               ; preds = %76
  call void @__asan_report_store4(i64 %70)
  call void asm sideeffect "", ""()
  unreachable

82:                                               ; preds = %76, %bb10.i
  store i32 6, i32* %69, align 4
  %83 = bitcast %"core::fmt::Arguments"* %14 to i8*
  %84 = add i64 %21, 8
  %85 = inttoptr i64 %84 to i32*
  store i32 0, i32* %85, align 1
  %86 = add i64 %21, 12
  %87 = inttoptr i64 %86 to i16*
  store i16 0, i16* %87, align 1
  call void @llvm.lifetime.start.p0i8(i64 48, i8* nonnull %83)
  %88 = bitcast [1 x { i8*, i8* }]* %12 to i8*
  %89 = add i64 %21, 4
  %90 = inttoptr i64 %89 to i16*
  store i16 0, i16* %90, align 1
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %88)
  %91 = getelementptr inbounds [1 x { i8*, i8* }], [1 x { i8*, i8* }]* %12, i64 0, i64 0, i32 0
  %92 = ptrtoint i8** %91 to i64
  %93 = lshr i64 %92, 3
  %94 = add i64 %93, 2147450880
  %95 = inttoptr i64 %94 to i8*
  %96 = load i8, i8* %95
  %97 = icmp ne i8 %96, 0
  br i1 %97, label %98, label %99

98:                                               ; preds = %82
  call void @__asan_report_store8(i64 %92)
  call void asm sideeffect "", ""()
  unreachable

99:                                               ; preds = %82
  store i8* %28, i8** %91, align 8
  %100 = getelementptr inbounds [1 x { i8*, i8* }], [1 x { i8*, i8* }]* %12, i64 0, i64 0, i32 1
  %101 = ptrtoint i8** %100 to i64
  %102 = lshr i64 %101, 3
  %103 = add i64 %102, 2147450880
  %104 = inttoptr i64 %103 to i8*
  %105 = load i8, i8* %104
  %106 = icmp ne i8 %105, 0
  br i1 %106, label %107, label %108

107:                                              ; preds = %99
  call void @__asan_report_store8(i64 %101)
  call void asm sideeffect "", ""()
  unreachable

108:                                              ; preds = %99
  store i8* bitcast (i1 (i32*, %"core::fmt::Formatter"*)* @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i32$GT$3fmt17hb6b500d511226317E" to i8*), i8** %100, align 8
  %109 = bitcast %"core::fmt::Arguments"* %14 to [0 x { [0 x i8]*, i64 }]**
  %110 = ptrtoint [0 x { [0 x i8]*, i64 }]** %109 to i64
  %111 = lshr i64 %110, 3
  %112 = add i64 %111, 2147450880
  %113 = inttoptr i64 %112 to i8*
  %114 = load i8, i8* %113
  %115 = icmp ne i8 %114, 0
  br i1 %115, label %116, label %117

116:                                              ; preds = %108
  call void @__asan_report_store8(i64 %110)
  call void asm sideeffect "", ""()
  unreachable

117:                                              ; preds = %108
  store [0 x { [0 x i8]*, i64 }]* bitcast ({ <{ i8*, [8 x i8], i8*, [8 x i8] }>, [32 x i8] }* @alloc3 to [0 x { [0 x i8]*, i64 }]*), [0 x { [0 x i8]*, i64 }]** %109, align 8, !alias.scope !12, !noalias !15
  %118 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %14, i64 0, i32 1, i32 1
  %119 = ptrtoint i64* %118 to i64
  %120 = lshr i64 %119, 3
  %121 = add i64 %120, 2147450880
  %122 = inttoptr i64 %121 to i8*
  %123 = load i8, i8* %122
  %124 = icmp ne i8 %123, 0
  br i1 %124, label %125, label %126

125:                                              ; preds = %117
  call void @__asan_report_store8(i64 %119)
  call void asm sideeffect "", ""()
  unreachable

126:                                              ; preds = %117
  store i64 2, i64* %118, align 8, !alias.scope !12, !noalias !15
  %127 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %14, i64 0, i32 3, i32 0
  %128 = ptrtoint i64** %127 to i64
  %129 = lshr i64 %128, 3
  %130 = add i64 %129, 2147450880
  %131 = inttoptr i64 %130 to i8*
  %132 = load i8, i8* %131
  %133 = icmp ne i8 %132, 0
  br i1 %133, label %134, label %135

134:                                              ; preds = %126
  call void @__asan_report_store8(i64 %128)
  call void asm sideeffect "", ""()
  unreachable

135:                                              ; preds = %126
  store i64* null, i64** %127, align 8, !alias.scope !12, !noalias !15
  %136 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %14, i64 0, i32 5, i32 0
  %137 = bitcast [0 x { i8*, i8* }]** %136 to [1 x { i8*, i8* }]**
  %138 = ptrtoint [1 x { i8*, i8* }]** %137 to i64
  %139 = lshr i64 %138, 3
  %140 = add i64 %139, 2147450880
  %141 = inttoptr i64 %140 to i8*
  %142 = load i8, i8* %141
  %143 = icmp ne i8 %142, 0
  br i1 %143, label %144, label %145

144:                                              ; preds = %135
  call void @__asan_report_store8(i64 %138)
  call void asm sideeffect "", ""()
  unreachable

145:                                              ; preds = %135
  store [1 x { i8*, i8* }]* %12, [1 x { i8*, i8* }]** %137, align 8, !alias.scope !12, !noalias !15
  %146 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %14, i64 0, i32 5, i32 1
  %147 = ptrtoint i64* %146 to i64
  %148 = lshr i64 %147, 3
  %149 = add i64 %148, 2147450880
  %150 = inttoptr i64 %149 to i8*
  %151 = load i8, i8* %150
  %152 = icmp ne i8 %151, 0
  br i1 %152, label %153, label %154

153:                                              ; preds = %145
  call void @__asan_report_store8(i64 %147)
  call void asm sideeffect "", ""()
  unreachable

154:                                              ; preds = %145
  store i64 1, i64* %146, align 8, !alias.scope !12, !noalias !15
; invoke std::io::stdio::_print
  invoke void @_ZN3std2io5stdio6_print17h35ebd65662fa8b15E(%"core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %14)
          to label %_ZN2t38test_box17h1a184087ce0c10bbE.exit unwind label %bb1.i

_ZN2t38test_box17h1a184087ce0c10bbE.exit:         ; preds = %154
  %155 = add i64 %21, 8
  %156 = inttoptr i64 %155 to i32*
  store i32 -117901064, i32* %156, align 1
  %157 = add i64 %21, 12
  %158 = inttoptr i64 %157 to i16*
  store i16 -1800, i16* %158, align 1
  call void @llvm.lifetime.end.p0i8(i64 48, i8* nonnull %83)
  %159 = add i64 %21, 4
  %160 = inttoptr i64 %159 to i16*
  store i16 -1800, i16* %160, align 1
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %88)
  call void @__rust_dealloc(i8* nonnull %44, i64 4, i64 4) #7
  store i64 1172321806, i64* %15
  %161 = icmp ne i64 %5, 0
  br i1 %161, label %162, label %175

162:                                              ; preds = %_ZN2t38test_box17h1a184087ce0c10bbE.exit
  %163 = add i64 %21, 0
  %164 = inttoptr i64 %163 to i64*
  store i64 -723401728380766731, i64* %164, align 1
  %165 = add i64 %21, 8
  %166 = inttoptr i64 %165 to i64*
  store i64 -723401728380766731, i64* %166, align 1
  %167 = add i64 %21, 16
  %168 = inttoptr i64 %167 to i64*
  store i64 -723401728380766731, i64* %168, align 1
  %169 = add i64 %21, 24
  %170 = inttoptr i64 %169 to i64*
  store i64 -723401728380766731, i64* %170, align 1
  %171 = add i64 %5, 248
  %172 = inttoptr i64 %171 to i64*
  %173 = load i64, i64* %172
  %174 = inttoptr i64 %173 to i8*
  store i8 0, i8* %174
  br label %182

175:                                              ; preds = %_ZN2t38test_box17h1a184087ce0c10bbE.exit
  %176 = add i64 %21, 0
  %177 = inttoptr i64 %176 to i64*
  store i64 0, i64* %177, align 1
  %178 = add i64 %21, 8
  %179 = inttoptr i64 %178 to i64*
  store i64 0, i64* %179, align 1
  %180 = add i64 %21, 16
  %181 = inttoptr i64 %180 to i32*
  store i32 0, i32* %181, align 1
  br label %182

182:                                              ; preds = %175, %162
  ret void
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #4

; std::rt::lang_start_internal
; Function Attrs: nonlazybind sanitize_address uwtable
declare i64 @_ZN3std2rt19lang_start_internal17hf4abd869024c3270E({}* nonnull align 1, [3 x i64]* noalias readonly align 8 dereferenceable(24), i64, i8**) unnamed_addr #0

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #4

; core::fmt::Formatter::debug_lower_hex
; Function Attrs: nonlazybind sanitize_address uwtable
declare zeroext i1 @_ZN4core3fmt9Formatter15debug_lower_hex17h68b810b761abe09bE(%"core::fmt::Formatter"* noalias readonly align 8 dereferenceable(64)) unnamed_addr #0

; core::fmt::num::<impl core::fmt::LowerHex for i32>::fmt
; Function Attrs: nonlazybind sanitize_address uwtable
declare zeroext i1 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h19ab7be5b0fb7587E"(i32* noalias readonly align 4 dereferenceable(4), %"core::fmt::Formatter"* align 8 dereferenceable(64)) unnamed_addr #0

; core::fmt::Formatter::debug_upper_hex
; Function Attrs: nonlazybind sanitize_address uwtable
declare zeroext i1 @_ZN4core3fmt9Formatter15debug_upper_hex17h20623f52650bb644E(%"core::fmt::Formatter"* noalias readonly align 8 dereferenceable(64)) unnamed_addr #0

; core::fmt::num::<impl core::fmt::UpperHex for i32>::fmt
; Function Attrs: nonlazybind sanitize_address uwtable
declare zeroext i1 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hd8a7bd4ba29743b9E"(i32* noalias readonly align 4 dereferenceable(4), %"core::fmt::Formatter"* align 8 dereferenceable(64)) unnamed_addr #0

; core::fmt::num::imp::<impl core::fmt::Display for i32>::fmt
; Function Attrs: nonlazybind sanitize_address uwtable
declare zeroext i1 @"_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i32$GT$3fmt17hbb27e86dfb8ce1d4E"(i32* noalias readonly align 4 dereferenceable(4), %"core::fmt::Formatter"* align 8 dereferenceable(64)) unnamed_addr #0

; Function Attrs: nounwind nonlazybind sanitize_address uwtable
declare i32 @rust_eh_personality(i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*) unnamed_addr #2

; alloc::alloc::handle_alloc_error
; Function Attrs: noreturn nounwind nonlazybind sanitize_address uwtable
declare void @_ZN5alloc5alloc18handle_alloc_error17he602a36a7d59d201E(i64, i64) unnamed_addr #5

; Function Attrs: nounwind nonlazybind sanitize_address uwtable
declare noalias i8* @__rust_alloc(i64, i64) unnamed_addr #2

; Function Attrs: nounwind nonlazybind sanitize_address uwtable
declare void @__rust_dealloc(i8*, i64, i64) unnamed_addr #2

; std::io::stdio::_print
; Function Attrs: nonlazybind sanitize_address uwtable
declare void @_ZN3std2io5stdio6_print17h35ebd65662fa8b15E(%"core::fmt::Arguments"* noalias nocapture dereferenceable(48)) unnamed_addr #0

; Function Attrs: nonlazybind sanitize_address
define i32 @main(i32 %0, i8** %1) unnamed_addr #6 {
top:
  %asan_local_stack_base = alloca i64
  %2 = load i32, i32* @__asan_option_detect_stack_use_after_return
  %3 = icmp ne i32 %2, 0
  br i1 %3, label %4, label %6

4:                                                ; preds = %top
  %5 = call i64 @__asan_stack_malloc_0(i64 64)
  br label %6

6:                                                ; preds = %top, %4
  %7 = phi i64 [ 0, %top ], [ %5, %4 ]
  %8 = icmp eq i64 %7, 0
  br i1 %8, label %9, label %11

9:                                                ; preds = %6
  %MyAlloca = alloca i8, i64 64, align 32
  %10 = ptrtoint i8* %MyAlloca to i64
  br label %11

11:                                               ; preds = %6, %9
  %12 = phi i64 [ %7, %6 ], [ %10, %9 ]
  store i64 %12, i64* %asan_local_stack_base
  %13 = add i64 %12, 32
  %14 = inttoptr i64 %13 to i8**
  %15 = inttoptr i64 %12 to i64*
  store i64 1102416563, i64* %15
  %16 = add i64 %12, 8
  %17 = inttoptr i64 %16 to i64*
  store i64 ptrtoint ([14 x i8]* @___asan_gen_.9 to i64), i64* %17
  %18 = add i64 %12, 16
  %19 = inttoptr i64 %18 to i64*
  store i64 ptrtoint (i32 (i32, i8**)* @main to i64), i64* %19
  %20 = lshr i64 %12, 3
  %21 = add i64 %20, 2147450880
  %22 = add i64 %21, 0
  %23 = inttoptr i64 %22 to i64*
  store i64 -868082052615769615, i64* %23, align 1
  %24 = sext i32 %0 to i64
  %25 = bitcast i8** %14 to i8*
  %26 = add i64 %21, 4
  %27 = inttoptr i64 %26 to i8*
  store i8 0, i8* %27, align 1
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %25)
  %28 = bitcast i8** %14 to void ()**
  %29 = ptrtoint void ()** %28 to i64
  %30 = lshr i64 %29, 3
  %31 = add i64 %30, 2147450880
  %32 = inttoptr i64 %31 to i8*
  %33 = load i8, i8* %32
  %34 = icmp ne i8 %33, 0
  br i1 %34, label %35, label %36

35:                                               ; preds = %11
  call void @__asan_report_store8(i64 %29)
  call void asm sideeffect "", ""()
  unreachable

36:                                               ; preds = %11
  store void ()* @_ZN2t34main17h33660e99b2ecbe28E, void ()** %28, align 8
  %_4.0.i = bitcast i8** %14 to {}*
; call std::rt::lang_start_internal
  %37 = call i64 @_ZN3std2rt19lang_start_internal17hf4abd869024c3270E({}* nonnull align 1 %_4.0.i, [3 x i64]* noalias readonly align 8 dereferenceable(24) bitcast ({ { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] }* @vtable.0 to [3 x i64]*), i64 %24, i8** %1)
  %38 = add i64 %21, 4
  %39 = inttoptr i64 %38 to i8*
  store i8 -8, i8* %39, align 1
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %25)
  %40 = trunc i64 %37 to i32
  store i64 1172321806, i64* %15
  %41 = icmp ne i64 %7, 0
  br i1 %41, label %42, label %49

42:                                               ; preds = %36
  %43 = add i64 %21, 0
  %44 = inttoptr i64 %43 to i64*
  store i64 -723401728380766731, i64* %44, align 1
  %45 = add i64 %7, 56
  %46 = inttoptr i64 %45 to i64*
  %47 = load i64, i64* %46
  %48 = inttoptr i64 %47 to i8*
  store i8 0, i8* %48
  br label %52

49:                                               ; preds = %36
  %50 = add i64 %21, 0
  %51 = inttoptr i64 %50 to i64*
  store i64 0, i64* %51, align 1
  br label %52

52:                                               ; preds = %49, %42
  ret i32 %40
}

declare void @__asan_report_load_n(i64, i64)

declare void @__asan_loadN(i64, i64)

declare void @__asan_report_load1(i64)

declare void @__asan_load1(i64)

declare void @__asan_report_load2(i64)

declare void @__asan_load2(i64)

declare void @__asan_report_load4(i64)

declare void @__asan_load4(i64)

declare void @__asan_report_load8(i64)

declare void @__asan_load8(i64)

declare void @__asan_report_load16(i64)

declare void @__asan_load16(i64)

declare void @__asan_report_store_n(i64, i64)

declare void @__asan_storeN(i64, i64)

declare void @__asan_report_store1(i64)

declare void @__asan_store1(i64)

declare void @__asan_report_store2(i64)

declare void @__asan_store2(i64)

declare void @__asan_report_store4(i64)

declare void @__asan_store4(i64)

declare void @__asan_report_store8(i64)

declare void @__asan_store8(i64)

declare void @__asan_report_store16(i64)

declare void @__asan_store16(i64)

declare void @__asan_report_exp_load_n(i64, i64, i32)

declare void @__asan_exp_loadN(i64, i64, i32)

declare void @__asan_report_exp_load1(i64, i32)

declare void @__asan_exp_load1(i64, i32)

declare void @__asan_report_exp_load2(i64, i32)

declare void @__asan_exp_load2(i64, i32)

declare void @__asan_report_exp_load4(i64, i32)

declare void @__asan_exp_load4(i64, i32)

declare void @__asan_report_exp_load8(i64, i32)

declare void @__asan_exp_load8(i64, i32)

declare void @__asan_report_exp_load16(i64, i32)

declare void @__asan_exp_load16(i64, i32)

declare void @__asan_report_exp_store_n(i64, i64, i32)

declare void @__asan_exp_storeN(i64, i64, i32)

declare void @__asan_report_exp_store1(i64, i32)

declare void @__asan_exp_store1(i64, i32)

declare void @__asan_report_exp_store2(i64, i32)

declare void @__asan_exp_store2(i64, i32)

declare void @__asan_report_exp_store4(i64, i32)

declare void @__asan_exp_store4(i64, i32)

declare void @__asan_report_exp_store8(i64, i32)

declare void @__asan_exp_store8(i64, i32)

declare void @__asan_report_exp_store16(i64, i32)

declare void @__asan_exp_store16(i64, i32)

declare i8* @__asan_memmove(i8*, i8*, i64)

declare i8* @__asan_memcpy(i8*, i8*, i64)

declare i8* @__asan_memset(i8*, i32, i64)

declare void @__asan_handle_no_return()

declare void @__sanitizer_ptr_cmp(i64, i64)

declare void @__sanitizer_ptr_sub(i64, i64)

declare i64 @__asan_stack_malloc_0(i64)

declare void @__asan_stack_free_0(i64, i64)

declare i64 @__asan_stack_malloc_1(i64)

declare void @__asan_stack_free_1(i64, i64)

declare i64 @__asan_stack_malloc_2(i64)

declare void @__asan_stack_free_2(i64, i64)

declare i64 @__asan_stack_malloc_3(i64)

declare void @__asan_stack_free_3(i64, i64)

declare i64 @__asan_stack_malloc_4(i64)

declare void @__asan_stack_free_4(i64, i64)

declare i64 @__asan_stack_malloc_5(i64)

declare void @__asan_stack_free_5(i64, i64)

declare i64 @__asan_stack_malloc_6(i64)

declare void @__asan_stack_free_6(i64, i64)

declare i64 @__asan_stack_malloc_7(i64)

declare void @__asan_stack_free_7(i64, i64)

declare i64 @__asan_stack_malloc_8(i64)

declare void @__asan_stack_free_8(i64, i64)

declare i64 @__asan_stack_malloc_9(i64)

declare void @__asan_stack_free_9(i64, i64)

declare i64 @__asan_stack_malloc_10(i64)

declare void @__asan_stack_free_10(i64, i64)

declare void @__asan_poison_stack_memory(i64, i64)

declare void @__asan_unpoison_stack_memory(i64, i64)

declare void @__asan_set_shadow_00(i64, i64)

declare void @__asan_set_shadow_f1(i64, i64)

declare void @__asan_set_shadow_f2(i64, i64)

declare void @__asan_set_shadow_f3(i64, i64)

declare void @__asan_set_shadow_f5(i64, i64)

declare void @__asan_set_shadow_f8(i64, i64)

declare void @__asan_alloca_poison(i64, i64)

declare void @__asan_allocas_unpoison(i64, i64)

declare void @__asan_before_dynamic_init(i64)

declare void @__asan_after_dynamic_init()

declare void @__asan_register_globals(i64, i64)

declare void @__asan_unregister_globals(i64, i64)

declare void @__asan_register_image_globals(i64)

declare void @__asan_unregister_image_globals(i64)

declare void @__asan_register_elf_globals(i64, i64, i64)

declare void @__asan_unregister_elf_globals(i64, i64, i64)

declare void @__asan_init()

define internal void @asan.module_ctor() comdat {
  call void @__asan_init()
  call void @__asan_version_mismatch_check_v8()
  call void @__asan_register_elf_globals(i64 ptrtoint (i64* @___asan_globals_registered to i64), i64 ptrtoint (i64* @__start_asan_globals to i64), i64 ptrtoint (i64* @__stop_asan_globals to i64))
  ret void
}

declare void @__asan_version_mismatch_check_v8()

define internal void @asan.module_dtor() comdat {
  call void @__asan_unregister_elf_globals(i64 ptrtoint (i64* @___asan_globals_registered to i64), i64 ptrtoint (i64* @__start_asan_globals to i64), i64 ptrtoint (i64* @__stop_asan_globals to i64))
  ret void
}

attributes #0 = { nonlazybind sanitize_address uwtable "target-cpu"="x86-64" }
attributes #1 = { inlinehint nonlazybind sanitize_address uwtable "target-cpu"="x86-64" }
attributes #2 = { nounwind nonlazybind sanitize_address uwtable "target-cpu"="x86-64" }
attributes #3 = { norecurse nounwind nonlazybind readnone sanitize_address uwtable "target-cpu"="x86-64" }
attributes #4 = { argmemonly nounwind willreturn }
attributes #5 = { noreturn nounwind nonlazybind sanitize_address uwtable "target-cpu"="x86-64" }
attributes #6 = { nonlazybind sanitize_address "target-cpu"="x86-64" }
attributes #7 = { nounwind }
attributes #8 = { noinline }

!llvm.module.flags = !{!4, !5, !6}

!0 = !{{ { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] }* @vtable.0}
!1 = !{{ <{ [10 x i8] }>, [54 x i8] }* @alloc1}
!2 = !{{ <{ [1 x i8] }>, [63 x i8] }* @alloc2}
!3 = !{{ <{ i8*, [8 x i8], i8*, [8 x i8] }>, [32 x i8] }* @alloc3}
!4 = !{i32 7, !"PIC Level", i32 2}
!5 = !{i32 7, !"PIE Level", i32 2}
!6 = !{i32 2, !"RtLibUseGOT", i32 1}
!7 = !{}
!8 = !{!9}
!9 = distinct !{!9, !10, !"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h333ea9d4a60716ebE: %_1"}
!10 = distinct !{!10, !"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h333ea9d4a60716ebE"}
!11 = !{!"branch_weights", i32 1, i32 100000}
!12 = !{!13}
!13 = distinct !{!13, !14, !"_ZN4core3fmt9Arguments6new_v117hc1127a6437d08baeE: argument 0"}
!14 = distinct !{!14, !"_ZN4core3fmt9Arguments6new_v117hc1127a6437d08baeE"}
!15 = !{!16}
!16 = distinct !{!16, !14, !"_ZN4core3fmt9Arguments6new_v117hc1127a6437d08baeE: %args.0"}
